<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // 方法名
    // 功能
    // 参数
    // 返回值
    // 是否改变原数组

    // var arr = ["hello", 4, 5, 6, "world"];
    // console.log(arr);
    
    // var res = arr.push(true, 56);
    // console.log(res);

    // var res = arr.unshift(true, 67);
    // console.log(res);

    // var res = arr.pop();
    // console.log(res);

    // var res = arr.shift();
    // console.log(res);

    // 方法名：join
    // 功能：按照指定字符连接数组中的数据
    // 参数：连接符
    // 返回值：连接之后的字符
    // 是否改变：否
    // var res = arr.join();
    // var res = arr.join("");
    // var res = arr.join("-");
    // console.log(res);
    // console.log(typeof res);


    // concat
    // 合并数组
    // 要合并到原数组中的数据
    // 合并之后的新数组
    // 否
    // var res = arr.concat(true);
    // var res = arr.concat([34, 25]);
    // var res = arr.concat([34, [25]]);
    // var res = arr.concat([34, [25]], ["abc", "qwe"]);
    // console.log(res);
    // console.log(res === arr);

    // splice
    // 删除并替换
    // 第一个开始删除的索引，第二个删除的个数，但三个往后都是要插入到删除位置的新数据
    // 删除之后的数据，数组形式（新）
    // 是
    // arr.splice(2);
    // arr.splice(2, 2);
    // arr.splice(2, 2, "abc");
    // var res = arr.splice(2, 1, "abc", "qwe", true, 141234);
    // console.log(res)


    // slice
    // 截取
    // 参数1开始截取的索引，参数2截取结束的索引（不含）（可选）
    // 截取出的新数组
    // 否
    // var res = arr.slice(2);
    // var res = arr.slice(2, 4);
    // var res = arr.slice(1, -2);
    // console.log(res);


    // console.log(arr);


    // ========


    var arr = [24, 356, 101, 67, 1024];
    console.log(arr);

    // sort
    // 默认排序规则为字符的比较规则
    // sort的参数：是一个函数，这个函数又接收了两个形参，这个函数必然要返回这两个形参的差
    // 返回值：排序之后的老数组
    // 是
    var res = arr.sort(function(a, b){
        return b-a;
    });
    console.log(res);
    console.log(res === arr);
    
    console.log(arr);
</script>
</html>